package day0217;

public class Person {

    private String name;

    private int age;

    public Person(){
//        this.name = "佚名";
//        this.age = 18;
        /*
            this([参数列表]) 调用当前对象的构造函数
                只能在构造函数的第一行使用
         */
        this("佚名", 18);
    }

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    // 访问类的字段的方法 getter
    public String getName(){
        return this.name;
    }

    public int getAge(){
        return this.age;
    }


    // 设置字段值得方法 setter
    public void setName(String name) {
        // this 关键字, 当前对象(谁调用就是谁). 只能在实例方法中使用
//        System.out.println(this);
        this.name = name;
        this.print();
    }

    public void setAge(int age) {
        if (age > 100 || age < 14){
            System.err.println("年龄未在规定范围内");
        } else {
            this.age = age;
        }
    }

    public void print(){
        System.out.printf("姓名是：%s, 年龄是：%d \n", this.name, this.age);
    }
}
